package com.wb.core12线程;

/**
 * @author 黄衡熙
 * @version 1.0
 */
public class Test04_阻塞相关方法 {
    public static void main(String[] args) {
        // 创建一个实现类的实例mr,此时并不是线程
        MyRunnable mr=new MyRunnable();
        // 创建Thread类的一个实例,将Runnable接口的实现类传递进来
        Thread t1=new Thread(mr,"线程1");
        //启动线程
        t1.start();
        //中断指定线程的休眠或者等待状态
        //t1.interrupt();
        for(int i = 0; i < 100; i++){

            try {
                if(i==10){
                    //Thread.sleep(3000);
                    //t1.interrupt();//打断休眠
                    t1.join();//插队
                }
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(Thread.currentThread().getName()+"正在打印:"+i);
        }
        //此处打断休眠无效，此时的t1已经醒了
        t1.interrupt();
    }
}
class MyRunnable implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                if (i == 10) {
                    Thread.sleep(3000);
                }
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(Thread.currentThread().getName() + "正在打印:" + i);
        }
    }
}